Q: QuickTime 6 Ç≈ÉÄÅ[ÉrÅ[ÉcÅ[ÉãÉ{ÉbÉNÉXä÷êîÇà GetMovieNextInterestingTime ÇégǡǃÅAMPEG ÉÄÅ[ÉrÅ[ÇÃÉtÉåÅ[ÉÄÇÉJÉEÉìÉgǵǃǢNjÇ∑Ç™ÅAǧNjÇ≠ìÆçÏǵǃǢǻǢÇÊǧÇ≈Ç∑ÅBDZÇÃä÷êîÇÃèââÒÇÃåƒÇ—èoǵÇÃåãâ ÇÕÅAÉTÉìÉvÉãÇÃï\é¶éûä‘Ç™É[ÉçÅAçƒê∂éûä‘Ç™ÉÄÅ[ÉrÅ[ëSëÃÇÃçƒê∂éûä‘DžǻǡǃǵNjǢNjÇ∑ÅBMPEG ÉÄÅ[ÉrÅ[ÇÃÉgÉâÉbÉNÇÃÉtÉåÅ[ÉÄêîÇí≤Ç◊ÇÈÇ…ÇÕì¡ï Ç»ÉRÅ[ÉhÇèëÇ≠ïKóvǙdžÇÈÇÃÇ≈ǵÇÂǧǩÅB
A: GetMovieNextInterestingTime ÇÕdžÇÁljÇÈéÌófiÇÃÉgÉâÉbÉNÇ≈ìÆçÏǵNjÇ∑ÅBÇΩÇæÇµÉtÉåÅ[ÉÄêîÇí≤Ç◊ÇÈèÍçáÇÕÅAnextTimeMediaSample ÉtÉâÉOÇégópǵǻǢÇ≈Ç≠ÇæÇ≥Ç¢ÅBíPàÍÇÃÉÅÉfÉBÉAÉTÉìÉvÉãÇ…ï°êîÇÃÉtÉåÅ[ÉÄÇï€ë∂Ç∑ÇÈÉÅÉfÉBÉAǙdžÇÈÇΩÇflÇ≈Ç∑ÅiÇΩÇΔǶnjÅAMPEG ÇΔ Flash ǻǫÅjÅBå¬ï ÇÃÉtÉåÅ[ÉÄéûä‘Çí≤Ç◊ÇÈèÍçáÇÕÅAGetMovieNextInterestingTime Ç… nextTimeStep ÉtÉâÉOÇìnǵǃÇ≠ÇæÇ≥Ç¢ÅB
Ç‹ÇΩÅAMPEG ÉÅÉfÉBÉADžǬǢǃÇÕÅAQuickTime 6 Ç…Ç®ÇØÇÈïsãÔçáÅir. 3236091ÅjÇÃÇΩÇflÅAGetMovieNextInterestingTime ÇåƒÇ—èoǵǃDZÇÃï˚ñ@Ç≈ÉtÉåÅ[ÉÄêîÇÉJÉEÉìÉgÇ∑ÇÈëOÇ…ÅAç≈èâÇ…ÉÄÅ[ÉrÅ[ÇÉ^ÉXÉNâªÇ∑ÇÈïKóvǙdžÇËÇ‹Ç∑ÅBâ∫ÇÃÉRÅ[ÉhÇ…ÅADZÇÃédëgÇ›Çé¶ÇµÇ‹Ç∑ÅB
#include <QuickTime/QuickTime.h>
long GetFrameCount (Movie theMovie)
{
long frameCount = 0;
TimeValue curMovieTime;
if (theMovie == NULL) goto bail;
// QuickTime 6 ÇÃïsãÔçáÇÃÇΩÇflÅAç≈èâÇ…
// ÉÄÅ[ÉrÅ[ÇÉ^ÉXÉNâªÇ∑ÇÈïKóvǙdžÇÈ
MoviesTask( theMovie, 0 );
curMovieTime = 0;
while( curMovieTime >= 0 )
{
GetMovieNextInterestingTime(theMovie,
nextTimeStep,
0, NULL,
curMovieTime,
fixed1,
&curMovieTime,
NULL );
frameCount++;
}
// ÉÄÅ[ÉrÅ[ÇÃç≈å„Ç…ó]ï™Ç»éûä‘ÇÇΔÇÈ
// ÉXÉeÉbÉvǙdžÇÈ
frameCount--;
bail:
return(frameCount);
}
|
ÉäÉXÉg 1 MPEG ÉÄÅ[ÉrÅ[ÇÃÉtÉåÅ[ÉÄêîÇÃÉJÉEÉìÉg
|
Ç≥ÇÁÇ…ÅAífë±ìIÇ»ÉRÉ}éÊÇËÇ≈ÇÕÇ»Ç≠ÅAàÍíËéûä‘ì‡Ç…ääÇÁǩDžãNDZÇÈïœâªÇãLèqÇ∑ÇÈÇÃDžǬǻǨå¯â Ç™égópÇ≈Ç´ÇÈì_Ç…íçà”ǵǃÇ≠ÇæÇ≥Ç¢ÅBÇΩÇΔǶnjÅA2 ǬÇÃÉrÉfÉIÉ\Å[ÉXä‘ÇÃÉèÉCÉvå¯â Ç≈ÇÕÅAäJénéûì_Ç©ÇÁèIóπéûì_Ç‹Ç≈ÇÃäeÉRÉ}Ç…ÇÕâΩñáLJÇÃèoóÕÉCÉÅÅ[ÉWÇ™ê∂ê¨Ç≥ÇÍÇ‹Ç∑ÅBDZÇÃÇÊǧǻèÍçáÅuÉtÉåÅ[ÉÄêîÇÕÇ¢Ç≠ǬÅvÇΔǢǧñ‚Ç¢ÇÕdžNjÇËóLâvÇΔÇÕǢǶNjÇπÇÒÅBÇ»Ç∫Ç»ÇÁÅAǪÇÃìöǶÇÕÅuçDÇ´Ç»ÇæÇØÅvÇΔǻǡǃǵNjǧǩÇÁÇ≈Ç∑ÅB
[2003 îN 5 åé 2 ì˙]
|